package LeetCodeHot100TopInterview;

public class Q026_RemoveDuplicates {

    //删除有序数组重复项
    //这他妈不就脑筋急转弯吗
    //这是谁的部将想出来的
    public int removeDuplicates(int[] nums) {
        if (nums == null || nums.length == 0){
            return 0;
        }
        //挺别致的双指针
        //卡的是这个
        int slow = 1;
        int fast = 1;

        //手指头摆摆
        //这题简单说两点
        //1、slow 以及 slow之前的位置保证不重复
        //2、slow 与 fast 之间是重复字段的
        while (fast != nums.length){
            //重复 快指针往前走
            if (nums[fast] == nums[fast - 1]) {
                fast++;
            }else {
                //不重复了
                nums[slow++] = nums[fast++];
            }
        }
        return slow;
    }

}
